//从pinia依赖包中导入定义store对象的函数(defineStore)
import {defineStore} from 'pinia'
/*
    调用defineStore来创建store对象
    defineStore的参数
    第1个参数：Store的唯一标识
    第2个参数：是一个配置对象,具体成员如下
    state:用来定义状态的,它的值是一个函数，建议大家写箭头函数
    actions:用来修改state状态方法，或者完成异步操作，它的值是一个对象，在这个对象可以编写多个方法完成对state的操作，或者完成异步操作
    getters类似有组件中的计算属性，是依赖于状态机中的state来完成计算功能
    defineStore的返回值的命名
    强烈建议大家按照如下写法来命名useXxStore
*/
const useCounterStore=defineStore("counter",{
    state:()=>({count:10}),
    actions:{
        incrementSync(n:number){
            console.log('------pinia>incrementSync----');
            this.count+=n
        }
    },
    getters:{
        doubleCount:(state)=>state.count*2
    }
})
export default useCounterStore